package a.j;

import a.d.o;
import a.d.t;
import a.d.w;

import javax.swing.*;
import javax.swing.plaf.basic.BasicHTML;
import java.awt.*;
import java.awt.font.FontRenderContext;
import java.awt.font.LineBreakMeasurer;
import java.awt.font.TextAttribute;
import java.awt.font.TextLayout;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.text.AttributedCharacterIterator;
import java.text.AttributedString;
import java.util.*;

public abstract class hg
{
  private static FontRenderContext a = new FontRenderContext(new AffineTransform(), false, false);
  static boolean b = true;
  public static final byte c = 0;
  public static final byte d = 1;
  public static final byte e = 2;
  public static final byte f = 1;
  public static final byte g = 2;
  public static final byte h = 4;
  public static final byte i = 8;
  public static final byte j = 16;
  public static final byte k = 32;
  public static final byte l = 64;
  byte m = 2;
  byte n = 4;
  byte o = 4;
  boolean p;
  protected o q = new o(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, -1.0D);
  protected double r;
  protected double s;
  protected double t;
  protected double u;
  String v;
  boolean x = true;
  Color y;
  Color z;
  Font A = R;
  byte B = 1;
  protected byte C;
  protected byte D;
  protected boolean E = true;
  protected boolean F = true;
  Object G;
  Object H;
  Icon I;
  Insets J;
  a_ K = l();
  float L;
  Color M = Color.black;
  byte N = 0;
  public static final byte O = 0;
  public static final byte P = 4;
  boolean Q;
  private static final Font R = new Font("Dialog", 0, 12);
  public static final Insets S = new Insets(2, 2, 2, 2);
  static final boolean T;
  private static final a_ U;
  static Class V;
  static Class W;
  static Class X;
  static Class Y;
  static Class Z;
  public static int ab;
  
  public Object f()
  {
    return this.H;
  }
  
  public void b(Object paramObject)
  {
    this.H = paramObject;
  }
  
  public double g()
  {
    return this.t;
  }
  
  public void a(double paramDouble)
  {
    this.t = paramDouble;
    o();
  }
  
  public o h()
  {
    o localo1 = d();
    o localo2 = localo1.k(this.t, this.u);
    float f1 = this.L;
    if ((ld.E) || (f1 != 0.0F))
    {
      double d1 = Math.toRadians(f1);
      double d2 = Math.sin(d1);
      double d3 = Math.cos(d1);
      double d4 = localo2.i();
      double d5 = localo2.j();
      localo2.c(d3 * d4 - d2 * d5, d2 * d4 + d3 * d5);
    }
    w localw = localo1.l();
    localo2.g(localw.a(), localw.b());
    return localo2;
  }
  
  public boolean i()
  {
    return this.Q;
  }
  
  public void a(boolean paramBoolean)
  {
    if (paramBoolean != this.Q)
    {
      this.Q = paramBoolean;
      j();
      if ((ld.E) || (this.K.f != null)) {
        this.K.f.a(this);
      }
    }
  }
  
  void j() {}
  
  public double k()
  {
    return this.u;
  }
  
  public void b(double paramDouble)
  {
    this.u = paramDouble;
    o();
  }
  
  public void a(double paramDouble1, double paramDouble2)
  {
    boolean bool = ld.E;
    this.t = paramDouble1;
    this.u = paramDouble2;
    if (!bool)
    {
      if (this.L != 0.0F)
      {
        double d1 = 0.0D;
        double d2 = 0.0D;
        double d3 = 0.0D;
        double d4 = 0.0D;
        Point2D.Double localDouble = new Point2D.Double();
        AffineTransform localAffineTransform = AffineTransform.getRotateInstance(Math.toRadians(this.L));
        localDouble.x = (-0.5D * paramDouble1);
        localDouble.y = (-0.5D * paramDouble2);
        localAffineTransform.transform(localDouble, localDouble);
        d1 = Math.max(d1, localDouble.x);
        d2 = Math.max(d2, localDouble.y);
        d3 = Math.min(d3, localDouble.x);
        d4 = Math.min(d4, localDouble.y);
        localDouble.x = (0.5D * paramDouble1);
        localDouble.y = (0.5D * paramDouble2);
        localAffineTransform.transform(localDouble, localDouble);
        d1 = Math.max(d1, localDouble.x);
        d2 = Math.max(d2, localDouble.y);
        d3 = Math.min(d3, localDouble.x);
        d4 = Math.min(d4, localDouble.y);
        localDouble.x = (-0.5D * paramDouble1);
        localDouble.y = (0.5D * paramDouble2);
        localAffineTransform.transform(localDouble, localDouble);
        d1 = Math.max(d1, localDouble.x);
        d2 = Math.max(d2, localDouble.y);
        d3 = Math.min(d3, localDouble.x);
        d4 = Math.min(d4, localDouble.y);
        localDouble.x = (0.5D * paramDouble1);
        localDouble.y = (-0.5D * paramDouble2);
        localAffineTransform.transform(localDouble, localDouble);
        d1 = Math.max(d1, localDouble.x);
        d2 = Math.max(d2, localDouble.y);
        d3 = Math.min(d3, localDouble.x);
        d4 = Math.min(d4, localDouble.y);
        this.r = (d1 - d3);
        this.s = (d2 - d4);
        if (bool) {
          return;
        }
        if (!ld.D) {}
      }
      else
      {
        this.r = this.t;
      }
    }
    else {
      this.s = this.u;
    }
    this.F = true;
  }
  
  a_ l()
  {
    return U;
  }
  
  public void a(Graphics2D paramGraphics2D)
  {
    this.K.a.a(this, paramGraphics2D);
  }
  
  protected void a(Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    this.K.a.b(this, paramGraphics2D, paramDouble1, paramDouble2, paramDouble3, paramDouble4);
  }
  
  public boolean b(double paramDouble1, double paramDouble2)
  {
    return this.K.c.a(this, paramDouble1, paramDouble2);
  }
  
  protected void b(Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    this.K.a.a(this, paramGraphics2D, paramDouble1, paramDouble2, paramDouble3, paramDouble4);
  }
  
  protected void c(Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    a(paramGraphics2D, paramDouble1, paramDouble2, paramDouble3, paramDouble4);
    b(paramGraphics2D, paramDouble1, paramDouble2, paramDouble3, paramDouble4);
  }
  
  public static void b(boolean paramBoolean)
  {
    b = paramBoolean;
  }
  
  static boolean a(hg paramhg, Graphics2D paramGraphics2D)
  {
    boolean bool = ld.E;
    if ((bool) || (paramhg.i())) {
      if (bool) {}
    }
    return kg.b(paramGraphics2D);
  }
  
  public boolean m()
  {
    return this.E;
  }
  
  public boolean n()
  {
    return this.F;
  }
  
  public void o()
  {
    this.E = true;
    this.F = true;
  }
  
  public final void c(boolean paramBoolean)
  {
    this.E = paramBoolean;
  }
  
  public void p()
  {
    this.F = true;
  }
  
  public final void d(boolean paramBoolean)
  {
    this.F = paramBoolean;
  }
  
  public abstract void q();
  
  public void r()
  {
    a(ab());
  }
  
  public void a(FontRenderContext paramFontRenderContext)
  {
    this.E = false;
    this.K.c.a(this, paramFontRenderContext);
  }
  
  public final t c()
  {
    return d().a();
  }
  
  public abstract o d();
  
  public abstract void s();
  
  public void a(byte paramByte)
  {
    this.n = paramByte;
    o();
  }
  
  public byte t()
  {
    return this.n;
  }
  
  public void b(byte paramByte)
  {
    this.m = paramByte;
    o();
  }
  
  public byte u()
  {
    return this.m;
  }
  
  public void c(byte paramByte)
  {
    this.o = paramByte;
    o();
  }
  
  public byte v()
  {
    return this.o;
  }
  
  public void e(boolean paramBoolean)
  {
    this.p = paramBoolean;
  }
  
  public boolean w()
  {
    return this.p;
  }
  
  public void c(double paramDouble)
  {
    paramDouble %= 360.0D;
    if (!ld.E) {
      if (paramDouble < 0.0D) {
        paramDouble += 360.0D;
      }
    }
    if (paramDouble != this.L)
    {
      this.L = ((float)paramDouble);
      o();
    }
  }
  
  public double x()
  {
    return this.L;
  }
  
  public void a(Insets paramInsets)
  {
    this.J = paramInsets;
    o();
  }
  
  public Insets y()
  {
    return this.J;
  }
  
  public void a(Icon paramIcon)
  {
    this.I = paramIcon;
    o();
  }
  
  public Icon z()
  {
    return this.I;
  }
  
  public void a(Color paramColor)
  {
    this.M = paramColor;
  }
  
  public Color A()
  {
    return this.M;
  }
  
  public boolean B()
  {
    return this.x;
  }
  
  public void f(boolean paramBoolean)
  {
    this.x = paramBoolean;
  }
  
  public byte C()
  {
    return this.D;
  }
  
  public void d(byte paramByte)
  {
    this.D = paramByte;
    p();
  }
  
  public byte D()
  {
    return this.C;
  }
  
  public void e(byte paramByte)
  {
    this.C = paramByte;
    p();
  }
  
  public void b(Color paramColor)
  {
    this.y = paramColor;
  }
  
  public Color F()
  {
    return this.y;
  }
  
  public void c(Color paramColor)
  {
    this.z = paramColor;
  }
  
  public Color G()
  {
    return this.z;
  }
  
  public void a(String paramString)
  {
    if (paramString == null) {
      this.v = "";
    } else if (!paramString.equals(this.v)) {
      this.v = paramString;
    } else {
      return;
    }
    o();
  }
  
  public String H()
  {
    return this.v;
  }
  
  public void a(o paramo)
  {
    this.q = paramo;
    this.F = this.E;
  }
  
  public o I()
  {
    if (!ld.E) {
      if (this.F) {
        q();
      }
    }
    return this.q;
  }
  
  public double J()
  {
    o localo = I();
    return localo.a().d();
  }
  
  public double K()
  {
    o localo = I();
    return localo.a().e();
  }
  
  public void d(double paramDouble)
  {
    c(paramDouble, this.q.a().e());
  }
  
  public void e(double paramDouble)
  {
    c(this.q.a().d(), paramDouble);
  }
  
  public void c(double paramDouble1, double paramDouble2)
  {
    d(paramDouble1, paramDouble2);
  }
  
  void d(double paramDouble1, double paramDouble2)
  {
    a(new o(paramDouble1, paramDouble2 + this.s, this.r, this.s));
  }
  
  public w L()
  {
    return c().f();
  }
  
  public void f(byte paramByte)
  {
    this.B = paramByte;
    p();
  }
  
  public byte M()
  {
    return this.B;
  }
  
  public w O()
  {
    return c(P());
  }
  
  public o P()
  {
    return this.K.a.a(this);
  }
  
  public w Q()
  {
    return c(R());
  }
  
  public o R()
  {
    return this.K.a.b(this);
  }
  
  public o b(o paramo)
  {
    o localo = h();
    double d1 = localo.i();
    double d2 = localo.j();
    double d3 = paramo.d();
    double d4 = paramo.e();
    double d5 = paramo.i();
    double d6 = paramo.j();
    return new o(localo.d() - d2 * d3 - d1 * d4, localo.e() + d1 * d3 - d2 * d4, paramo.g(), paramo.h(), -d2 * d5 - d1 * d6, d1 * d5 - d2 * d6);
  }
  
  private w c(o paramo)
  {
    return b(paramo).a().f();
  }
  
  public boolean a(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    boolean bool = ld.E;
    t localt = c();
    if (((bool) || (localt.d + localt.a >= paramDouble1)) && ((bool) || (localt.d <= paramDouble1 + paramDouble3)) && ((bool) || (localt.e + localt.b >= paramDouble2))) {
      if (bool) {}
    }
    return localt.e <= paramDouble2 + paramDouble4;
  }
  
  public void a(Rectangle2D paramRectangle2D)
  {
    boolean bool2 = ld.E;
    boolean bool1 = ld.D;
    if (!bool2) {
      if (this.K.d != null)
      {
        if (bool2) {
          break label48;
        }
        this.K.d.a(this, paramRectangle2D);
        if (!bool1) {
          return;
        }
      }
    }
    label48:
    t localt = c();
    if (!bool2)
    {
      if (paramRectangle2D.getWidth() >= 0.0D)
      {
        if (bool2) {
          break label110;
        }
        if (paramRectangle2D.getHeight() >= 0.0D) {}
      }
      else
      {
        if (bool2) {
          break label174;
        }
        paramRectangle2D.setRect(localt.d, localt.e, localt.a, localt.b);
      }
    }
    else if (!bool1) {
      return;
    }
    label110:
    paramRectangle2D.setFrameFromDiagonal(Math.min(localt.d, paramRectangle2D.getX()), Math.min(localt.e, paramRectangle2D.getY()), Math.max(localt.d + localt.a, paramRectangle2D.getX() + paramRectangle2D.getWidth()), Math.max(localt.e + localt.b, paramRectangle2D.getY() + paramRectangle2D.getWidth()));
    label174:
  }
  
  public abstract void a(Object paramObject);
  
  public abstract Object d(o paramo);
  
  void e(double paramDouble1, double paramDouble2)
  {
    boolean bool = ld.E;
    if (!bool) {
      if (this.E)
      {
        this.E = false;
        r();
        if (bool) {
          return;
        }
        if (!ld.D) {
          break label42;
        }
      }
    }
    this.E = false;
    label42:
    this.r = paramDouble1;
    this.s = paramDouble2;
  }
  
  public double S()
  {
    if (!ld.E) {
      if (m()) {
        r();
      }
    }
    return this.r;
  }
  
  public double T()
  {
    if (!ld.E) {
      if (m()) {
        r();
      }
    }
    return this.s;
  }
  
  public String toString()
  {
    return this.v;
  }
  
  public Font U()
  {
    return this.A;
  }
  
  public void a(Font paramFont)
  {
    if (!paramFont.equals(this.A))
    {
      this.A = paramFont;
      o();
    }
  }
  
  public String V()
  {
    return this.A.getName();
  }
  
  public void b(String paramString)
  {
    a(new Font(paramString, this.A.getStyle(), this.A.getSize()));
  }
  
  public int W()
  {
    return this.A.getSize();
  }
  
  public void a(int paramInt)
  {
    a(this.A.deriveFont(paramInt));
  }
  
  public int X()
  {
    return this.A.getStyle();
  }
  
  public void b(int paramInt)
  {
    a(this.A.deriveFont(paramInt));
  }
  
  public void a(hg paramhg)
  {
    boolean bool = ld.E;
    a(paramhg.H());
    e(paramhg.D());
    f(paramhg.B());
    d(paramhg.C());
    b(paramhg.F());
    g(paramhg.Z());
    a(paramhg.A());
    f(paramhg.M());
    a(paramhg.U());
    this.q = new o(paramhg.q);
    c(paramhg.G());
    a(paramhg.z());
    a(paramhg.i());
    b(paramhg.u());
    a(paramhg.t());
    c(paramhg.v());
    a(paramhg.y());
    c(paramhg.x());
    e(paramhg.w());
    this.K = paramhg.K;
    if (!bool) {
      if (this.K.e != null)
      {
        this.H = this.K.e.a(paramhg, paramhg.H, this);
        if (bool) {
          return;
        }
        if (!ld.D) {
          break label222;
        }
      }
    }
    this.H = null;
    label222:
    e(paramhg.S(), paramhg.T());
    a(paramhg.g(), paramhg.k());
  }
  
  public void a(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    boolean bool2 = ld.E;
    boolean bool1 = ld.D;
    paramObjectOutputStream.writeByte(11);
    paramObjectOutputStream.writeDouble(this.q.d());
    paramObjectOutputStream.writeDouble(this.q.e());
    paramObjectOutputStream.writeDouble(this.q.g());
    paramObjectOutputStream.writeDouble(this.q.h());
    paramObjectOutputStream.writeDouble(this.q.i());
    paramObjectOutputStream.writeDouble(this.q.j());
    paramObjectOutputStream.writeByte(Z());
    paramObjectOutputStream.writeFloat((float)this.t);
    paramObjectOutputStream.writeFloat((float)this.u);
    paramObjectOutputStream.writeFloat(this.L);
    paramObjectOutputStream.writeObject(H());
    paramObjectOutputStream.writeByte(D());
    paramObjectOutputStream.writeByte(C());
    paramObjectOutputStream.writeBoolean(this.x);
    paramObjectOutputStream.writeByte(this.B);
    paramObjectOutputStream.writeObject(this.A);
    paramObjectOutputStream.writeObject(this.M);
    paramObjectOutputStream.writeObject(z());
    paramObjectOutputStream.writeObject(this.y);
    paramObjectOutputStream.writeObject(this.z);
    paramObjectOutputStream.writeObject(this.J);
    paramObjectOutputStream.writeByte(this.n);
    paramObjectOutputStream.writeByte(this.m);
    if (!bool2)
    {
      paramObjectOutputStream.writeByte(this.o);
      if (Y() != null)
      {
        paramObjectOutputStream.writeObject(Y());
        if (!bool2)
        {
          if (this.K.e != null)
          {
            paramObjectOutputStream.writeBoolean(true);
            this.K.e.a(this, f(), paramObjectOutputStream);
            if (bool2) {
              return;
            }
            if (!bool1) {
              break label308;
            }
          }
          paramObjectOutputStream.writeBoolean(false);
        }
        if (bool2) {
          return;
        }
        if (!bool1) {
          break label308;
        }
      }
    }
    paramObjectOutputStream.writeObject(null);
    label308:
    paramObjectOutputStream.writeBoolean(this.p);
  }
  
  public void a(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    boolean bool2 = ld.E;
    boolean bool1 = ld.D;
    if (!bool2) {}
    float f1;
    float f2;
    byte b1;
    byte b2;
    switch (paramObjectInputStream.readByte())
    {
    case 0: 
      paramObjectInputStream.readByte();
      paramObjectInputStream.readObject();
      this.A = c(paramObjectInputStream);
      this.B = paramObjectInputStream.readByte();
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      a(b1, b2);
      this.x = paramObjectInputStream.readBoolean();
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 1: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 2: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 3: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        a((Icon)paramObjectInputStream.readObject());
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 4: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 5: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        this.J = ((Insets)paramObjectInputStream.readObject());
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 6: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readShort();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        this.J = ((Insets)paramObjectInputStream.readObject());
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 7: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readShort();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        this.J = ((Insets)paramObjectInputStream.readObject());
        this.n = paramObjectInputStream.readByte();
        this.m = paramObjectInputStream.readByte();
        this.o = paramObjectInputStream.readByte();
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 8: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.r = paramObjectInputStream.readFloat();
      this.s = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      d(f1, f2);
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      if (!bool2)
      {
        if (paramObjectInputStream.readBoolean()) {
          b(Color.white);
        }
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        this.J = ((Insets)paramObjectInputStream.readObject());
        this.n = paramObjectInputStream.readByte();
        this.m = paramObjectInputStream.readByte();
        this.o = paramObjectInputStream.readByte();
        a(b1, b2);
      }
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 9: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.N = paramObjectInputStream.readByte();
      this.t = paramObjectInputStream.readFloat();
      this.u = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      this.M = ((Color)paramObjectInputStream.readObject());
      this.I = ((Icon)paramObjectInputStream.readObject());
      this.y = ((Color)paramObjectInputStream.readObject());
      this.z = ((Color)paramObjectInputStream.readObject());
      this.J = ((Insets)paramObjectInputStream.readObject());
      this.n = paramObjectInputStream.readByte();
      this.m = paramObjectInputStream.readByte();
      this.o = paramObjectInputStream.readByte();
      b(paramObjectInputStream);
      a(this.t, this.u);
      d(f1, f2);
      a(b1, b2);
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    case 10: 
      f1 = paramObjectInputStream.readFloat();
      f2 = paramObjectInputStream.readFloat();
      this.N = paramObjectInputStream.readByte();
      this.t = paramObjectInputStream.readFloat();
      this.u = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      b1 = paramObjectInputStream.readByte();
      if (!bool2)
      {
        b2 = paramObjectInputStream.readByte();
        this.x = paramObjectInputStream.readBoolean();
        this.B = paramObjectInputStream.readByte();
        this.A = c(paramObjectInputStream);
        this.M = ((Color)paramObjectInputStream.readObject());
        this.I = ((Icon)paramObjectInputStream.readObject());
        this.y = ((Color)paramObjectInputStream.readObject());
        this.z = ((Color)paramObjectInputStream.readObject());
        this.J = ((Insets)paramObjectInputStream.readObject());
        this.n = paramObjectInputStream.readByte();
        this.m = paramObjectInputStream.readByte();
        this.o = paramObjectInputStream.readByte();
        b(paramObjectInputStream);
        this.p = paramObjectInputStream.readBoolean();
        a(this.t, this.u);
        d(f1, f2);
        a(b1, b2);
        if (!bool1) {
          return;
        }
      }
    case 11: 
      double d1 = paramObjectInputStream.readDouble();
      double d2 = paramObjectInputStream.readDouble();
      double d3 = paramObjectInputStream.readDouble();
      double d4 = paramObjectInputStream.readDouble();
      double d5 = paramObjectInputStream.readDouble();
      double d6 = paramObjectInputStream.readDouble();
      this.q = new o(d1, d2, d3, d4, d5, d6);
      this.N = paramObjectInputStream.readByte();
      this.t = paramObjectInputStream.readFloat();
      this.u = paramObjectInputStream.readFloat();
      this.L = paramObjectInputStream.readFloat();
      a((String)paramObjectInputStream.readObject());
      b1 = paramObjectInputStream.readByte();
      b2 = paramObjectInputStream.readByte();
      this.x = paramObjectInputStream.readBoolean();
      this.B = paramObjectInputStream.readByte();
      this.A = c(paramObjectInputStream);
      this.M = ((Color)paramObjectInputStream.readObject());
      this.I = ((Icon)paramObjectInputStream.readObject());
      this.y = ((Color)paramObjectInputStream.readObject());
      this.z = ((Color)paramObjectInputStream.readObject());
      this.J = ((Insets)paramObjectInputStream.readObject());
      this.n = paramObjectInputStream.readByte();
      this.m = paramObjectInputStream.readByte();
      this.o = paramObjectInputStream.readByte();
      b(paramObjectInputStream);
      this.p = paramObjectInputStream.readBoolean();
      a(this.t, this.u);
      a(b1, b2);
      if (!bool1) {
        return;
      }
      break;
    }
    throw new a.e.c();
  }
  
  private void a(byte paramByte1, byte paramByte2)
  {
    this.F = false;
    this.E = false;
    e(paramByte1);
    d(paramByte2);
    this.E = true;
  }
  
  private void b(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    boolean bool2 = ld.E;
    boolean bool1 = ld.D;
    String str = (String)paramObjectInputStream.readObject();
    if (!bool2)
    {
      if (str == null)
      {
        this.K = l();
        if (bool2) {
          break label57;
        }
        if (!bool1) {
          return;
        }
      }
      if (bool2) {
        break label113;
      }
      c(str);
    }
    if (paramObjectInputStream.readBoolean())
    {
      label57:
      if (!bool2) {
        if (this.K.e == null) {
          throw new IOException("No user data handler found for configuration to read user data.");
        }
      }
      if (bool2) {
        break label113;
      }
      this.H = this.K.e.a(this, paramObjectInputStream);
      if (!bool1) {
        return;
      }
    }
    label113:
    this.H = null;
  }
  
  public abstract void c(String paramString);
  
  public String Y()
  {
    return (ld.E) || (this.K != null) ? this.K.b : null;
  }
  
  public void g(byte paramByte)
  {
    this.N = paramByte;
    o();
  }
  
  public void h(byte paramByte)
  {
    this.N = paramByte;
  }
  
  public byte Z()
  {
    return this.N;
  }
  
  private Font c(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    Font localFont = (Font)paramObjectInputStream.readObject();
    if (T) {
      localFont = new Font(localFont.getFontName(), localFont.getStyle(), Math.round(localFont.getSize2D()));
    }
    return localFont;
  }
  
  private static FontRenderContext ab()
  {
    return a;
  }
  
  private static void c(FontRenderContext paramFontRenderContext)
  {
    if (!ld.E) {
      if (paramFontRenderContext == null) {
        throw new IllegalArgumentException("FontRenderContext cannot be null");
      }
    }
    a = paramFontRenderContext;
  }
  
  public static void g(boolean paramBoolean)
  {
    a = new FontRenderContext(new AffineTransform(), true, paramBoolean);
  }
  
  public static boolean bb()
  {
    return a.usesFractionalMetrics();
  }
  
  static Class d(String paramString)
  {
    try
    {
      return Class.forName(paramString);
    }
    catch (ClassNotFoundException localClassNotFoundException)
    {
      throw new NoClassDefFoundError(localClassNotFoundException.getMessage());
    }
  }
  
  static
  {
    HashMap localHashMap = new HashMap();
    localHashMap.put(V == null ? (hg.V = d("a.j.hg$d_")) : V, i_.e);
    localHashMap.put(W == null ? (hg.W = d("a.j.hg$e_")) : W, i_.e);
    localHashMap.put(X == null ? (hg.X = d("a.j.hg$b_")) : X, i_.e);
    localHashMap.put(Y == null ? (hg.Y = d("a.j.hg$g_")) : Y, new pe((byte)0));
    U = new a_(localHashMap, localHashMap, "default");
    boolean bool = false;
    try
    {
      String str = System.getProperty("os.name").toLowerCase();
      bool = str.startsWith("mac");
    }
    catch (Exception localException) {}
    T = bool;
  }
  
  static class i_
    extends l
    implements hg.d_, hg.b_
  {
    static final i_ e = new i_();
    
    public void a(hg paramhg, Rectangle2D paramRectangle2D)
    {
      boolean bool = ld.E;
      t localt = paramhg.c();
      if (!bool)
      {
        if (paramRectangle2D.getWidth() >= 0.0D)
        {
          if (bool) {
            break label70;
          }
          if (paramRectangle2D.getHeight() >= 0.0D) {}
        }
        else
        {
          if (bool) {
            break label134;
          }
          paramRectangle2D.setRect(localt.d, localt.e, localt.a, localt.b);
        }
      }
      else if (!ld.D) {
        return;
      }
      label70:
      paramRectangle2D.setFrameFromDiagonal(Math.min(localt.d, paramRectangle2D.getX()), Math.min(localt.e, paramRectangle2D.getY()), Math.max(localt.d + localt.a, paramRectangle2D.getX() + paramRectangle2D.getWidth()), Math.max(localt.e + localt.b, paramRectangle2D.getY() + paramRectangle2D.getWidth()));
      label134:
    }
    
    public void a(hg paramhg, Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if (paramhg.I != null)
        {
          localObject1 = b(paramhg, hb.a().n);
          a(paramGraphics2D, paramhg.I, paramDouble1 + localObject1[0], paramDouble2 + localObject1[1]);
          a(paramhg, (double[])localObject1);
          d1 = localObject1[0];
          d2 = localObject1[1];
          if (bool2) {
            break label151;
          }
          if (!bool1) {
            break label144;
          }
        }
      }
      if (!bool2) {}
      Object localObject1 = paramhg.J == null ? hg.S : paramhg.J;
      double d1 = paramDouble3 - (((Insets)localObject1).left + ((Insets)localObject1).right);
      double d2 = paramDouble4 - (((Insets)localObject1).top + ((Insets)localObject1).bottom);
      label144:
      if (paramhg.v.length() > 0)
      {
        label151:
        localObject1 = paramGraphics2D.getColor();
        Font localFont = paramGraphics2D.getFont();
        Stroke localStroke = paramGraphics2D.getStroke();
        Color localColor = paramhg.M;
        if (!bool2)
        {
          if (localColor != null) {
            paramGraphics2D.setColor(localColor);
          }
          paramGraphics2D.setFont(paramhg.A);
          paramGraphics2D.setStroke(c.e);
        }
        Object localObject2;
        Object localObject3;
        double[] arrayOfDouble;
        if ((bool2) || ((BasicHTML.isHTMLString(paramhg.v)) && (hg.b)))
        {
          localObject2 = hb.a();
          localObject3 = e(paramhg);
          arrayOfDouble = d(paramhg, ((hb)localObject2).n);
          paramDouble1 += arrayOfDouble[0];
          paramDouble2 += arrayOfDouble[1];
          SwingUtilities.paintComponent(paramGraphics2D, (Component)localObject3, ((hb)localObject2).f, (int)paramDouble1, (int)paramDouble2, (int)d1, (int)d2);
          if (bool2) {
            break label848;
          }
          if (!bool1) {}
        }
        else if ((bool2) || (localColor != null))
        {
          localObject2 = paramhg.G;
          if (!bool2)
          {
            if ((localObject2 instanceof ArrayList))
            {
              localObject3 = (ArrayList)localObject2;
              arrayOfDouble = d(paramhg, hb.a().n);
              double d4 = 0.0D;
              paramDouble1 += arrayOfDouble[0];
              paramDouble2 += arrayOfDouble[1];
              int i = 0;
              label544:
              do
              {
                if (i >= ((ArrayList)localObject3).size()) {
                  break;
                }
                a_ locala_2 = (a_)((ArrayList)localObject3).get(i);
                paramDouble2 += locala_2.b;
                if ((!bool2) && (bool1)) {
                  break label854;
                }
                if (!bool2) {}
                switch (paramhg.B)
                {
                case 0: 
                  d4 = 0.0D;
                  if (bool2) {
                    break label544;
                  }
                  if (!bool1) {
                    break;
                  }
                case 1: 
                  d4 = (d1 - locala_2.a) / 2.0D;
                  if (bool2) {
                    break label544;
                  }
                  if (!bool1) {
                    break;
                  }
                case 2: 
                  d4 = d1 - locala_2.a;
                  if (bool2) {
                    break label544;
                  }
                  if (!bool1) {
                    break;
                  }
                default: 
                  d4 = 0.0D;
                }
                paramGraphics2D.drawString(locala_2.d, (float)(paramDouble1 + d4), (float)paramDouble2);
                paramDouble2 += locala_2.c;
                if (!bool2)
                {
                  if (paramhg.p)
                  {
                    Line2D.Double localDouble2 = hb.a().l;
                    localDouble2.x1 = paramDouble1;
                    localDouble2.y1 = (localDouble2.y2 = paramDouble2);
                    localDouble2.x2 = (paramDouble1 + d1);
                    paramGraphics2D.draw(localDouble2);
                  }
                  i++;
                }
              } while (!bool1);
            }
            if (bool2) {
              break label848;
            }
          }
          if ((localObject2 instanceof a_))
          {
            localObject3 = d(paramhg, hb.a().n);
            double d3 = 0.0D;
            paramDouble1 += localObject3[0];
            paramDouble2 += localObject3[1];
            a_ locala_1 = (a_)localObject2;
            if (!bool2)
            {
              paramDouble2 += locala_1.b;
              switch (paramhg.B)
              {
              case 0: 
                d3 = 0.0D;
                if (bool2) {
                  break label797;
                }
                if (!bool1) {
                  break;
                }
              case 1: 
                d3 = (d1 - locala_1.a) / 2.0D;
                if (bool2) {
                  break label797;
                }
                if (!bool1) {
                  break;
                }
              case 2: 
                d3 = d1 - locala_1.a;
                if (bool2) {
                  break label797;
                }
                if (!bool1) {
                  break;
                }
              }
            }
            else
            {
              d3 = 0.0D;
            }
            paramGraphics2D.drawString(locala_1.d, (float)(paramDouble1 + d3), (float)paramDouble2);
            paramDouble2 += locala_1.c;
            if (bool2) {
              break label848;
            }
            if (paramhg.p)
            {
              label797:
              Line2D.Double localDouble1 = hb.a().l;
              localDouble1.x1 = paramDouble1;
              localDouble1.y1 = (localDouble1.y2 = paramDouble2);
              localDouble1.x2 = (paramDouble1 + d1);
              paramGraphics2D.draw(localDouble1);
            }
          }
        }
        paramGraphics2D.setStroke(localStroke);
        label848:
        paramGraphics2D.setFont(localFont);
        label854:
        if (localColor != null) {
          paramGraphics2D.setColor((Color)localObject1);
        }
      }
    }
    
    protected void a(Graphics2D paramGraphics2D, Icon paramIcon, double paramDouble1, double paramDouble2)
    {
      AffineTransform localAffineTransform = paramGraphics2D.getTransform();
      double d1 = paramDouble1;
      double d2 = paramDouble2;
      d1 -= (int)d1;
      d2 -= (int)d2;
      paramGraphics2D.translate(d1, d2);
      paramIcon.paintIcon(null, paramGraphics2D, (int)paramDouble1, (int)paramDouble2);
      paramGraphics2D.setTransform(localAffineTransform);
    }
    
    private double[] c(hg paramhg, double paramDouble1, double paramDouble2)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double[] arrayOfDouble1 = null;
      if (!bool2) {
        if (paramhg.I != null)
        {
          localObject1 = b(paramhg, hb.a().n);
          a(paramhg, (double[])localObject1);
          d1 = localObject1[0];
          d2 = localObject1[1];
          if (bool2) {
            break label131;
          }
          if (!bool1) {
            break label124;
          }
        }
      }
      if (!bool2) {}
      Object localObject1 = paramhg.J == null ? hg.S : paramhg.J;
      double d1 = paramDouble1 - (((Insets)localObject1).left + ((Insets)localObject1).right);
      double d2 = paramDouble2 - (((Insets)localObject1).top + ((Insets)localObject1).bottom);
      label124:
      if ((bool2) || (paramhg.v.length() > 0))
      {
        double d5;
        if (!bool2)
        {
          if (BasicHTML.isHTMLString(paramhg.v))
          {
            if (bool2) {
              break label235;
            }
            if (hg.b)
            {
              localObject1 = d(paramhg, hb.a().n);
              double d3 = localObject1[0];
              d5 = localObject1[1];
              arrayOfDouble1 = new double[] { d3, d5, d3 + d1, d5 + d2 };
              break label763;
            }
          }
          localObject1 = paramhg.G;
        }
        Object localObject2;
        if (!bool2) {
          if ((localObject1 instanceof ArrayList))
          {
            localObject2 = (ArrayList)localObject1;
            double[] arrayOfDouble2 = d(paramhg, hb.a().n);
            d5 = 0.0D;
            double d7 = arrayOfDouble2[0];
            double d9 = arrayOfDouble2[1];
            int i = 0;
            while (i < ((ArrayList)localObject2).size())
            {
              a_ locala_2 = (a_)((ArrayList)localObject2).get(i);
              if (!bool2) {}
              switch (paramhg.B)
              {
              case 0: 
                d5 = 0.0D;
                if (!bool2) {
                  if (!bool1) {
                    break label400;
                  }
                }
              case 1: 
                d5 = (d1 - locala_2.a) / 2.0D;
                if (!bool2) {
                  if (!bool1) {
                    break label400;
                  }
                }
              case 2: 
                if (!bool2)
                {
                  d5 = d1 - locala_2.a;
                  if (!bool1) {
                    break label400;
                  }
                }
                break;
              }
              d5 = 0.0D;
              if (!bool2) {
                if (arrayOfDouble1 != null)
                {
                  arrayOfDouble1[0] = Math.min(arrayOfDouble1[0], d7 + d5);
                  arrayOfDouble1[1] = Math.min(arrayOfDouble1[1], d9);
                  arrayOfDouble1[2] = Math.max(arrayOfDouble1[2], d7 + d5 + locala_2.a);
                  arrayOfDouble1[3] = Math.max(arrayOfDouble1[3], d9 + locala_2.b + locala_2.c);
                  if (bool2) {
                    break label569;
                  }
                  if (!bool1) {
                    break label549;
                  }
                }
              }
              arrayOfDouble1 = new double[] { d7 + d5, d9, d7 + d5 + locala_2.a, d9 + locala_2.b + locala_2.c };
              d9 += locala_2.b + locala_2.c;
              i++;
            }
          }
        }
        if ((localObject1 instanceof a_))
        {
          localObject2 = d(paramhg, hb.a().n);
          double d4 = 0.0D;
          double d6 = localObject2[0];
          double d8 = localObject2[1];
          a_ locala_1 = (a_)localObject1;
          if (!bool2) {}
          switch (paramhg.B)
          {
          case 0: 
            d4 = 0.0D;
            if (!bool2) {
              if (!bool1) {
                break;
              }
            }
            break;
          case 1: 
            d4 = (d1 - locala_1.a) / 2.0D;
            if (!bool2) {
              if (!bool1) {
                break;
              }
            }
            break;
          case 2: 
            d4 = d1 - locala_1.a;
            if (!bool2) {
              if (!bool1) {
                break;
              }
            }
            break;
          default: 
            d4 = 0.0D;
          }
          arrayOfDouble1 = new double[] { d6 + d4, d8, d6 + d4 + locala_1.a, d8 + locala_1.b + locala_1.c };
        }
      }
      label131:
      label235:
      label763:
      return arrayOfDouble1;
    }
    
    public o a(hg paramhg)
    {
      if (!ld.E) {
        if (a()) {
          return a(paramhg, c(paramhg));
        }
      }
      return c(paramhg);
    }
    
    private o c(hg paramhg)
    {
      boolean bool = ld.E;
      double d1 = paramhg.t;
      double d2 = paramhg.u;
      double[] arrayOfDouble;
      if (!paramhg.x)
      {
        arrayOfDouble = null;
        if (!ld.D) {}
      }
      else
      {
        arrayOfDouble = c(paramhg, d1, d2);
      }
      if (!bool) {
        if (arrayOfDouble == null)
        {
          Insets localInsets = paramhg.y();
          if ((bool) || (localInsets == null)) {
            localInsets = hg.S;
          }
          return new o(localInsets.left, localInsets.top - d2, 0.0D, 0.0D);
        }
      }
      double d3 = arrayOfDouble[0];
      double d4 = arrayOfDouble[1];
      double d5 = arrayOfDouble[3] - d4;
      return new o(d3, d4 + d5 - d2, arrayOfDouble[2] - d3, d5);
    }
    
    public o b(hg paramhg)
    {
      if (!ld.E) {
        if (a()) {
          return a(paramhg, d(paramhg));
        }
      }
      return d(paramhg);
    }
    
    private o d(hg paramhg)
    {
      Icon localIcon = paramhg.I;
      if (!ld.E) {
        if (localIcon == null) {
          return new o(0.0D, -paramhg.u, 0.0D, 0.0D);
        }
      }
      int i = localIcon.getIconHeight();
      double[] arrayOfDouble = b(paramhg, new double[2]);
      return new o(arrayOfDouble[0], arrayOfDouble[1] + i - paramhg.u, localIcon.getIconWidth(), i);
    }
    
    void a(hg paramhg, double[] paramArrayOfDouble)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if ((bool2) || ((BasicHTML.isHTMLString(paramhg.v)) && (hg.b)))
      {
        JComponent localJComponent = e(paramhg);
        paramArrayOfDouble[0] = localJComponent.getWidth();
        paramArrayOfDouble[1] = localJComponent.getHeight();
        if (!bool1) {}
      }
      else
      {
        double d1 = 0.0D;
        double d2 = 0.0D;
        Object localObject1 = paramhg.G;
        Object localObject2;
        if (!bool2)
        {
          if ((localObject1 instanceof ArrayList))
          {
            localObject2 = (ArrayList)localObject1;
            int i = ((ArrayList)localObject2).size() - 1;
            do
            {
              if (i < 0) {
                break;
              }
              a_ locala_ = (a_)((ArrayList)localObject2).get(i);
              if ((!bool2) && (bool1)) {
                break label238;
              }
              if (!bool2)
              {
                if (locala_.a > d1) {
                  d1 = locala_.a;
                }
                d2 += locala_.b + locala_.c;
                i--;
              }
            } while (!bool1);
          }
          if (bool2) {}
        }
        else
        {
          if ((bool2) || ((localObject1 instanceof a_)))
          {
            localObject2 = (a_)localObject1;
            if (!bool2) {
              if (((a_)localObject2).a > d1) {
                d1 = ((a_)localObject2).a;
              }
            }
            d2 += ((a_)localObject2).b + ((a_)localObject2).c;
          }
          paramArrayOfDouble[0] = d1;
        }
        label238:
        paramArrayOfDouble[1] = d2;
      }
    }
    
    double[] b(hg paramhg, double[] paramArrayOfDouble)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if (paramhg.I == null) {
          return null;
        }
      }
      if (!bool2) {}
      Insets localInsets = paramhg.J == null ? hg.S : paramhg.J;
      double d1 = localInsets.left;
      double d2 = localInsets.top;
      a(paramhg, paramArrayOfDouble);
      double d3 = paramArrayOfDouble[0];
      double d4 = paramArrayOfDouble[1];
      double d5 = paramhg.I.getIconWidth();
      double d6 = paramhg.I.getIconHeight();
      if ((bool2) || (d3 == 0.0D)) {
        if (bool2) {}
      }
      int i = d4 == 0.0D ? 1 : 0;
      if (!bool2) {
        if (paramhg.m == 2)
        {
          if (bool2) {
            break label186;
          }
          if (d3 > d5)
          {
            d1 += 0.5D * (d3 - d5);
            if (bool2) {
              break label266;
            }
            if (!bool1) {
              break label262;
            }
          }
        }
      }
      label186:
      if (!bool2) {
        if (paramhg.m == 8)
        {
          if (!bool2) {}
          d1 += d3 + (i != 0 ? 0 : paramhg.o);
          if (bool2) {
            break label266;
          }
          if (!bool1) {
            break label262;
          }
        }
      }
      if (!bool2) {
        if (paramhg.m == 64) {
          d1 += Math.max(d3, d5) - d5;
        }
      }
      label262:
      label266:
      if (!bool2) {
        if (paramhg.n == 2)
        {
          if (bool2) {
            break label316;
          }
          if (d4 > d6)
          {
            d2 += 0.5D * (d4 - d6);
            if (bool2) {
              return paramArrayOfDouble;
            }
          }
        }
      }
      label316:
      if ((bool1) && ((bool2) || (paramhg.n == 1)))
      {
        if (!bool2) {
          switch (paramhg.m)
          {
          case 2: 
          case 32: 
          case 64: 
            if (!bool2) {}
            d2 += d4 + (i != 0 ? 0 : paramhg.o);
            if (bool2) {
              break;
            }
          }
        }
        if ((bool1) && ((bool2) || (d4 > d6))) {
          d2 += d4 - d6;
        }
      }
      paramArrayOfDouble[0] = d1;
      paramArrayOfDouble[1] = d2;
      return paramArrayOfDouble;
    }
    
    double[] d(hg paramhg, double[] paramArrayOfDouble)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {}
      Insets localInsets = paramhg.J == null ? hg.S : paramhg.J;
      double d1 = localInsets.left;
      double d2 = localInsets.top;
      if (!bool2)
      {
        if (paramhg.I != null)
        {
          a(paramhg, paramArrayOfDouble);
          double d3 = paramArrayOfDouble[0];
          double d4 = paramArrayOfDouble[1];
          double d5 = paramhg.I.getIconWidth();
          double d6 = paramhg.I.getIconHeight();
          if ((bool2) || (d3 == 0.0D)) {
            if (bool2) {}
          }
          int i = d4 == 0.0D ? 1 : 0;
          if (!bool2) {
            if (paramhg.m == 2)
            {
              if (bool2) {
                break label184;
              }
              if (d5 > d3)
              {
                d1 += 0.5D * (d5 - d3);
                if (bool2) {
                  break label264;
                }
                if (!bool1) {
                  break label260;
                }
              }
            }
          }
          label184:
          if (!bool2) {
            if (paramhg.m == 16)
            {
              if (!bool2) {}
              d1 += d5 + (i != 0 ? 0 : paramhg.o);
              if (bool2) {
                break label264;
              }
              if (!bool1) {
                break label260;
              }
            }
          }
          if (!bool2) {
            if (paramhg.m == 64) {
              d1 += Math.max(d3, d5) - d3;
            }
          }
          label260:
          label264:
          if (!bool2) {
            if (paramhg.n == 2)
            {
              if (bool2) {
                break label314;
              }
              if (d6 > d4)
              {
                d2 += 0.5D * (d6 - d4);
                if (bool2) {
                  return paramArrayOfDouble;
                }
              }
            }
          }
          label314:
          if ((bool1) && ((bool2) || (paramhg.n == 4)))
          {
            if (!bool2) {
              switch (paramhg.m)
              {
              case 2: 
              case 32: 
              case 64: 
                if (!bool2) {}
                d2 += d6 + (i != 0 ? 0 : paramhg.o);
                if (bool2) {
                  break;
                }
              }
            }
            if ((bool1) && ((bool2) || (d6 > d4))) {
              d2 += d6 - d4;
            }
          }
        }
        paramArrayOfDouble[0] = d1;
        paramArrayOfDouble[1] = d2;
      }
      return paramArrayOfDouble;
    }
    
    JComponent e(hg paramhg)
    {
      JLabel localJLabel = hb.a().e;
      a(localJLabel, paramhg);
      return localJLabel;
    }
    
    void a(JLabel paramJLabel, hg paramhg)
    {
      paramJLabel.setText("");
      paramJLabel.setFont(paramhg.A);
      paramJLabel.setText(paramhg.v);
      paramJLabel.setBackground(paramhg.y);
      paramJLabel.setForeground(paramhg.M);
      Dimension localDimension = paramJLabel.getPreferredSize();
      paramJLabel.setSize(localDimension.width, localDimension.height);
    }
    
    public void a(hg paramhg, FontRenderContext paramFontRenderContext)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double d1 = 0.0D;
      double d2 = 0.0D;
      if ((bool2) || (BasicHTML.isHTMLString(paramhg.v))) {
        if (!bool2)
        {
          if (hg.b) {
            paramhg.G = null;
          }
        }
        else
        {
          if (bool2) {
            break label363;
          }
          if (paramhg.Z() == 4) {
            break label360;
          }
          localObject = e(paramhg);
          d1 = ((JComponent)localObject).getWidth();
          d2 = ((JComponent)localObject).getHeight();
          if (bool2) {
            break label363;
          }
          if (!bool1) {
            break label360;
          }
        }
      }
      Object localObject = new ArrayList(5);
      int j = 0;
      String str1 = paramhg.v;
      j = str1.indexOf("\n");
      do
      {
        if (j >= 0) {}
        do
        {
          do
          {
            String str2 = str1.substring(0, j);
            if (str2.length() == 0) {
              str2 = " ";
            }
            ((ArrayList)localObject).add(new a_(str2, paramhg.A, paramFontRenderContext));
            str1 = str1.substring(j + 1);
            if (j >= 0) {
              break;
            }
          } while (bool2);
        } while (bool1);
      } while (bool2);
      if (!bool2)
      {
        if (str1.length() > 0) {
          ((ArrayList)localObject).add(new a_(str1, paramhg.A, paramFontRenderContext));
        }
        d1 = d2 = 0.0D;
      }
      int k = ((ArrayList)localObject).size() - 1;
      if (k >= 0) {}
      while (bool2)
      {
        a_ locala_ = (a_)((ArrayList)localObject).get(k);
        if (bool2) {
          break label326;
        }
        if (bool1) {
          break label325;
        }
        if (locala_.a > d1) {
          d1 = locala_.a;
        }
        d2 += locala_.b + locala_.c;
        k--;
        if (!bool1) {
          break;
        }
      }
      label325:
      if (((ArrayList)localObject).size() == 1)
      {
        label326:
        paramhg.G = ((ArrayList)localObject).get(0);
        if (bool2) {
          break label363;
        }
        if (!bool1) {}
      }
      else
      {
        ((ArrayList)localObject).trimToSize();
        paramhg.G = localObject;
      }
      label360:
      label363:
      if ((bool2) || (d1 == 0.0D)) {
        if (bool2) {}
      }
      int i = d2 == 0.0D ? 1 : 0;
      if (!bool2)
      {
        if (paramhg.Z() != 4)
        {
          if (bool2) {
            break label722;
          }
          if (paramhg.I != null) {
            if (!bool2)
            {
              switch (paramhg.m)
              {
              case 2: 
              case 32: 
              case 64: 
                d1 = Math.max(d1, paramhg.I.getIconWidth());
                if (!bool2)
                {
                  if (paramhg.n != 2)
                  {
                    if (!bool2) {}
                    d2 += paramhg.I.getIconHeight() + (i != 0 ? 0 : paramhg.o);
                    if (bool2) {
                      break label730;
                    }
                    if (!bool1) {
                      break;
                    }
                  }
                  d2 = Math.max(d2, paramhg.I.getIconHeight());
                }
                if (bool2) {
                  break label730;
                }
                if (!bool1) {
                  break;
                }
              }
            }
            else
            {
              if (!bool2)
              {
                if (paramhg.m != 32) {
                  break label672;
                }
                d1 = Math.max(d1, paramhg.I.getIconWidth());
                if (bool2) {}
              }
              else
              {
                if (paramhg.n != 2)
                {
                  if (!bool2) {}
                  d2 += paramhg.I.getIconHeight() + (i != 0 ? 0 : paramhg.o);
                  if (bool2) {
                    break label730;
                  }
                  if (!bool1) {
                    break label721;
                  }
                }
                d2 = Math.max(d2, paramhg.I.getIconHeight());
              }
              if (bool2) {
                break label730;
              }
              if (bool1)
              {
                label672:
                d2 = Math.max(d2, paramhg.I.getIconHeight());
                if (!bool2) {}
                d1 += paramhg.I.getIconWidth() + (i != 0 ? 0 : paramhg.o);
              }
            }
          }
        }
        label721:
        label722:
        if (bool2) {
          break label756;
        }
      }
      label730:
      if (paramhg.Z() == 4)
      {
        d1 = paramhg.t;
        d2 = paramhg.u;
        if (bool2) {
          return;
        }
        if (!bool1) {}
      }
      else
      {
        label756:
        if (!bool2) {}
        Insets localInsets = paramhg.J == null ? hg.S : paramhg.J;
        d1 += localInsets.left + localInsets.right;
        d2 += localInsets.top + localInsets.bottom;
      }
      paramhg.a(d1, d2);
    }
    
    public boolean a(hg paramhg, double paramDouble1, double paramDouble2)
    {
      return paramhg.h().a(paramDouble1, paramDouble2, true);
    }
    
    static class a_
    {
      double a;
      float b;
      float c;
      String d;
      
      a_(String paramString, Font paramFont, FontRenderContext paramFontRenderContext)
      {
        this.d = paramString;
        TextLayout localTextLayout = new TextLayout(paramString, paramFont, paramFontRenderContext);
        Rectangle2D localRectangle2D = paramFont.getStringBounds(this.d, paramFontRenderContext);
        this.a = localRectangle2D.getWidth();
        this.b = localTextLayout.getAscent();
        this.c = localTextLayout.getDescent();
      }
    }
  }
  
  static final class h_
    extends l
  {
    static final h_ f = new h_();
    
    public void a(hg paramhg, Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (((bool2) || (paramhg.v.length() > 0)) && ((bool2) || (paramhg.M != null)))
      {
        Insets localInsets = paramhg.y();
        if (!bool2)
        {
          if (localInsets == null) {
            localInsets = hg.S;
          }
          paramDouble1 += localInsets.left;
          paramDouble2 += localInsets.top;
        }
        float f1 = (float)paramDouble1;
        float f2 = (float)paramDouble2;
        paramDouble3 -= localInsets.left + localInsets.right;
        paramDouble4 -= localInsets.top + localInsets.bottom;
        if ((bool2) || ((paramDouble3 <= 0.0D) || (paramDouble4 <= 0.0D))) {
          return;
        }
        Color localColor = paramGraphics2D.getColor();
        paramGraphics2D.setColor(paramhg.M);
        HashMap localHashMap = new HashMap();
        localHashMap.put(TextAttribute.FONT, paramhg.A);
        if ((bool2) || (paramhg.p)) {
          localHashMap.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
        }
        Shape localShape = paramGraphics2D.getClip();
        paramGraphics2D.clip(new Rectangle2D.Double(paramDouble1, paramDouble2, paramDouble3, paramDouble4));
        LineBreakMeasurer localLineBreakMeasurer = new LineBreakMeasurer(new AttributedString(paramhg.v, localHashMap).getIterator(), paramGraphics2D.getFontRenderContext());
        int i = paramGraphics2D.getFontMetrics(paramhg.A).getHeight() - 1;
        if (!bool2) {}
        int j = paramhg.B == 2 ? 1 : 0;
        if (!bool2) {}
        int k = paramhg.B == 1 ? 1 : 0;
        try
        {
          int m = paramhg.v.indexOf('\n');
          if (!bool2) {
            if (m == -1) {
              m = paramhg.v.length();
            }
          }
          TextLayout localTextLayout1;
          do
          {
            do
            {
              if (m > localLineBreakMeasurer.getPosition()) {
                break;
              }
              if (bool2) {
                break label473;
              }
              if (localLineBreakMeasurer.getPosition() >= paramhg.v.length()) {
                break;
              }
              localTextLayout1 = localLineBreakMeasurer.nextLayout(100.0F, m + 1, false);
              f2 += localTextLayout1.getAscent() + localTextLayout1.getLeading() + localTextLayout1.getDescent();
              m = paramhg.v.indexOf('\n', m + 1);
            } while (m != -1);
            m = paramhg.v.length();
            if (bool2) {
              break label466;
            }
            if ((!bool2) && (bool1)) {
              return;
            }
          } while ((!bool2) && (!bool1));
          label466:
          label473:
          float f3;
          label968:
          label980:
          float f4;
          if (localLineBreakMeasurer.getPosition() < paramhg.v.length()) {
            if (paramDouble2 + paramDouble4 < f2 + 2 * i)
            {
              localTextLayout1 = new TextLayout("…", localHashMap, paramGraphics2D.getFontRenderContext());
              f3 = localTextLayout1.getAdvance();
              TextLayout localTextLayout2;
              float f5;
              if (!bool2) {
                if (localLineBreakMeasurer.nextOffset((float)paramDouble3, m, false) >= paramhg.v.length())
                {
                  localTextLayout2 = localLineBreakMeasurer.nextLayout((float)paramDouble3);
                  if (!bool2)
                  {
                    if (localTextLayout2 == null) {
                      return;
                    }
                    f2 += localTextLayout2.getAscent();
                  }
                  if (!bool2) {}
                  f5 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble3 - localTextLayout2.getAdvance()) * 0.5F : (float)paramDouble3 - localTextLayout2.getAdvance();
                  localTextLayout2.draw(paramGraphics2D, f1 + f5, f2);
                  return;
                }
              }
              if (!bool2)
              {
                if (paramDouble3 > f3)
                {
                  localTextLayout2 = localLineBreakMeasurer.nextLayout((float)paramDouble3 - f3, m, false);
                  if (!bool2)
                  {
                    if (localLineBreakMeasurer.getPosition() == m) {
                      m = paramhg.v.indexOf('\n', m + 1);
                    }
                  }
                  else if ((bool2) || (m == -1)) {
                    m = paramhg.v.length();
                  }
                  if (localTextLayout2 != null)
                  {
                    f2 += localTextLayout2.getAscent();
                    if (!bool2) {
                      if (localLineBreakMeasurer.getPosition() < paramhg.v.length())
                      {
                        f5 = localTextLayout2.getAdvance() + localTextLayout1.getAdvance();
                        if (!bool2) {}
                        float f6 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble3 - f5) * 0.5F : (float)paramDouble3 - f5;
                        localTextLayout2.draw(paramGraphics2D, f1 + f6, f2);
                        float f7 = f6 + localTextLayout2.getAdvance();
                        localTextLayout1.draw(paramGraphics2D, f1 + f7, f2);
                        if (bool2) {
                          break label980;
                        }
                        if (!bool1) {
                          break label968;
                        }
                      }
                    }
                    if (!bool2) {}
                    f5 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble3 - localTextLayout2.getAdvance()) * 0.5F : (float)paramDouble3 - localTextLayout2.getAdvance();
                    localTextLayout2.draw(paramGraphics2D, f1 + f5, f2);
                    return;
                  }
                  return;
                }
                f2 += localTextLayout1.getAscent();
              }
              if (!bool2) {}
              f4 = (bool2) || ((localTextLayout1.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble3 - localTextLayout1.getAdvance()) * 0.5F : (float)paramDouble3 - localTextLayout1.getAdvance();
              localTextLayout1.draw(paramGraphics2D, f1 + f4, f2);
              return;
            }
          }
          label1186:
          do
          {
            localTextLayout1 = localLineBreakMeasurer.nextLayout((float)paramDouble3, m, false);
            if ((bool2) || (localTextLayout1 == null)) {
              return;
            }
            if (!bool2)
            {
              if (localLineBreakMeasurer.getPosition() == m)
              {
                m = paramhg.v.indexOf('\n', m + 1);
                if (bool2) {
                  break label1186;
                }
                if (m == -1) {
                  m = paramhg.v.length();
                }
              }
              f2 += localTextLayout1.getAscent();
            }
            if (!bool2) {}
            f3 = (bool2) || ((localTextLayout1.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble3 - localTextLayout1.getAdvance()) * 0.5F : (float)paramDouble3 - localTextLayout1.getAdvance();
            f4 = localTextLayout1.getDescent() + localTextLayout1.getLeading();
            localTextLayout1.draw(paramGraphics2D, f1 + f3, f2);
            f2 += f4;
            if (!bool1) {
              break;
            }
            paramGraphics2D.setClip(localShape);
          } while (bool2);
          paramGraphics2D.setColor(localColor);
        }
        finally
        {
          paramGraphics2D.setClip(localShape);
          paramGraphics2D.setColor(localColor);
        }
      }
    }
    
    private double[] a(hg paramhg, FontRenderContext paramFontRenderContext, double paramDouble1, double paramDouble2)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double[] arrayOfDouble = null;
      label698:
      label700:
      label1732:
      if (((bool2) || (paramhg.v.length() > 0)) && ((bool2) || (paramhg.M != null)))
      {
        Insets localInsets = paramhg.y();
        if (!bool2) {
          if (localInsets == null) {
            localInsets = hg.S;
          }
        }
        float f1 = localInsets.left;
        float f2 = localInsets.top;
        paramDouble1 -= localInsets.left + localInsets.right;
        paramDouble2 -= localInsets.top + localInsets.bottom;
        if ((bool2) || ((paramDouble1 <= 0.0D) || (paramDouble2 <= 0.0D))) {
          return arrayOfDouble;
        }
        HashMap localHashMap = new HashMap();
        localHashMap.put(TextAttribute.FONT, paramhg.A);
        if ((bool2) || (paramhg.p)) {
          localHashMap.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
        }
        LineBreakMeasurer localLineBreakMeasurer = new LineBreakMeasurer(new AttributedString(paramhg.v, localHashMap).getIterator(), paramFontRenderContext);
        int i = (int)Math.rint(paramhg.A.getLineMetrics(paramhg.v, paramFontRenderContext).getHeight()) - 3;
        if (!bool2) {}
        int j = paramhg.B == 2 ? 1 : 0;
        if (!bool2) {}
        int k = paramhg.B == 1 ? 1 : 0;
        int m = paramhg.v.indexOf('\n');
        if (!bool2) {
          if (m == -1) {
            m = paramhg.v.length();
          }
        }
        TextLayout localTextLayout1;
        while (m <= localLineBreakMeasurer.getPosition())
        {
          if ((!bool2) && (localLineBreakMeasurer.getPosition() >= paramhg.v.length())) {
            break;
          }
          localTextLayout1 = localLineBreakMeasurer.nextLayout(100.0F, m + 1, false);
          f2 += localTextLayout1.getAscent() + localTextLayout1.getLeading() + localTextLayout1.getDescent();
          m = paramhg.v.indexOf('\n', m + 1);
          if (m == -1) {
            m = paramhg.v.length();
          }
        }
        label1233:
        label1235:
        label1657:
        label1659:
        do
        {
          if (localLineBreakMeasurer.getPosition() >= paramhg.v.length()) {
            break;
          }
          if (paramDouble2 < f2 + 2 * i)
          {
            localTextLayout1 = new TextLayout("…", localHashMap, paramFontRenderContext);
            f3 = localTextLayout1.getAdvance();
            TextLayout localTextLayout2;
            float f5;
            if (!bool2) {
              if (localLineBreakMeasurer.nextOffset((float)paramDouble1, m, false) >= paramhg.v.length())
              {
                localTextLayout2 = localLineBreakMeasurer.nextLayout((float)paramDouble1);
                if (localTextLayout2 == null) {
                  return arrayOfDouble;
                }
                if (!bool2) {}
                f5 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - localTextLayout2.getAdvance()) * 0.5F : (float)paramDouble1 - localTextLayout2.getAdvance();
                if (!bool2) {
                  if (arrayOfDouble != null)
                  {
                    arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f5);
                    arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
                    arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f5 + localTextLayout2.getAdvance());
                    if (bool2) {
                      break label700;
                    }
                    arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent());
                    if (!bool1) {
                      break label698;
                    }
                  }
                }
                arrayOfDouble = new double[] { f1 + f5, f2, f1 + f5 + localTextLayout2.getAdvance(), f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent() };
                return arrayOfDouble;
              }
            }
            if (!bool2) {
              if (paramDouble1 > f3)
              {
                localTextLayout2 = localLineBreakMeasurer.nextLayout((float)paramDouble1 - f3, m, false);
                if (!bool2)
                {
                  if (localLineBreakMeasurer.getPosition() == m) {
                    m = paramhg.v.indexOf('\n', m + 1);
                  }
                }
                else if ((bool2) || (m == -1)) {
                  m = paramhg.v.length();
                }
                if (localTextLayout2 != null)
                {
                  if (!bool2) {
                    if (localLineBreakMeasurer.getPosition() < paramhg.v.length())
                    {
                      f5 = localTextLayout2.getAdvance() + localTextLayout1.getAdvance();
                      if (!bool2) {}
                      float f6 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - f5) * 0.5F : (float)paramDouble1 - f5;
                      if (!bool2) {
                        if (arrayOfDouble != null)
                        {
                          arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f6);
                          arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
                          arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f6 + f5);
                          if (bool2) {
                            break label1235;
                          }
                          arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent());
                          if (!bool1) {
                            break label1233;
                          }
                        }
                      }
                      if (bool2) {
                        break label1235;
                      }
                      arrayOfDouble = new double[] { f1 + f6, f2, f1 + f6 + f5, f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent() };
                      if (!bool1) {
                        break label1233;
                      }
                    }
                  }
                  if (!bool2) {}
                  f5 = (bool2) || ((localTextLayout2.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - localTextLayout2.getAdvance()) * 0.5F : (float)paramDouble1 - localTextLayout2.getAdvance();
                  if (!bool2) {
                    if (arrayOfDouble != null)
                    {
                      arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f5);
                      arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
                      arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f5 + localTextLayout2.getAdvance());
                      if (bool2) {
                        break label1235;
                      }
                      arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent());
                      if (!bool1) {
                        break label1233;
                      }
                    }
                  }
                  arrayOfDouble = new double[] { f1 + f5, f2, f1 + f5 + localTextLayout2.getAdvance(), f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent() };
                  return arrayOfDouble;
                }
                if (!bool2) {}
                f5 = (bool2) || ((localTextLayout1.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - localTextLayout1.getAdvance()) * 0.5F : (float)paramDouble1 - localTextLayout1.getAdvance();
                if (!bool2) {
                  if (arrayOfDouble != null)
                  {
                    arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f5);
                    arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
                    arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f5 + localTextLayout1.getAdvance());
                    if (bool2) {
                      break label1447;
                    }
                    arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent());
                    if (!bool1) {
                      break label1445;
                    }
                  }
                }
                arrayOfDouble = new double[] { f1 + f5, f2, f1 + f5 + localTextLayout1.getAdvance(), f2 + localTextLayout2.getAscent() + localTextLayout2.getDescent() };
                return arrayOfDouble;
              }
            }
            if (!bool2) {}
            f4 = (bool2) || ((localTextLayout1.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - localTextLayout1.getAdvance()) * 0.5F : (float)paramDouble1 - localTextLayout1.getAdvance();
            if (!bool2) {
              if (arrayOfDouble != null)
              {
                arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f4);
                arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
                arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f4 + localTextLayout1.getAdvance());
                if (bool2) {
                  break label1659;
                }
                arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout1.getAscent() + localTextLayout1.getDescent());
                if (!bool1) {
                  break label1657;
                }
              }
            }
            arrayOfDouble = new double[] { f1 + f4, f2, f1 + f4 + localTextLayout1.getAdvance(), f2 + localTextLayout1.getAscent() + localTextLayout1.getDescent() };
            return arrayOfDouble;
          }
          localTextLayout1 = localLineBreakMeasurer.nextLayout((float)paramDouble1, m, false);
          if (localTextLayout1 == null) {
            return arrayOfDouble;
          }
          if (!bool2) {
            if (localLineBreakMeasurer.getPosition() == m)
            {
              m = paramhg.v.indexOf('\n', m + 1);
              if (bool2) {
                break label1732;
              }
              if (m == -1) {
                m = paramhg.v.length();
              }
            }
          }
          if (!bool2) {}
          float f3 = (bool2) || ((localTextLayout1.isLeftToRight()) && (j == 0)) ? 0.0F : k != 0 ? ((float)paramDouble1 - localTextLayout1.getAdvance()) * 0.5F : (float)paramDouble1 - localTextLayout1.getAdvance();
          float f4 = localTextLayout1.getAscent() + localTextLayout1.getDescent() + localTextLayout1.getLeading();
          if (!bool2) {
            if (arrayOfDouble != null)
            {
              arrayOfDouble[0] = Math.min(arrayOfDouble[0], f1 + f3);
              arrayOfDouble[1] = Math.min(arrayOfDouble[1], f2);
              arrayOfDouble[2] = Math.max(arrayOfDouble[2], f1 + f3 + localTextLayout1.getAdvance());
              arrayOfDouble[3] = Math.max(arrayOfDouble[3], f2 + localTextLayout1.getAscent() + localTextLayout1.getDescent());
              if (bool2) {
                continue;
              }
              if (!bool1) {
                break label1958;
              }
            }
          }
          arrayOfDouble = new double[] { f1 + f3, f2, f1 + f3 + localTextLayout1.getAdvance(), f2 + localTextLayout1.getAscent() + localTextLayout1.getDescent() };
          f2 += f4;
        } while (!bool1);
      }
      label1445:
      label1447:
      return arrayOfDouble;
    }
    
    public o a(hg paramhg)
    {
      if (!ld.E) {
        if (a()) {
          return a(paramhg, d(paramhg));
        }
      }
      return d(paramhg);
    }
    
    private o d(hg paramhg)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double d1 = paramhg.t;
      double d2 = paramhg.u;
      double[] arrayOfDouble;
      Object localObject;
      if (!paramhg.x)
      {
        arrayOfDouble = null;
        if (!bool1) {}
      }
      else
      {
        FontRenderContext localFontRenderContext = hg.access$000();
        if (paramhg.L != 0.0F)
        {
          AffineTransform localAffineTransform = localFontRenderContext.getTransform();
          localAffineTransform.rotate(Math.toRadians(paramhg.L));
          if (bool2) {
            break label103;
          }
          localObject = new FontRenderContext(localAffineTransform, localFontRenderContext.isAntiAliased(), localFontRenderContext.usesFractionalMetrics());
          if (!bool1) {
            break label105;
          }
        }
        label103:
        localObject = localFontRenderContext;
        label105:
        arrayOfDouble = a(paramhg, (FontRenderContext)localObject, d1, d2);
      }
      if (!bool2) {
        if (arrayOfDouble == null)
        {
          localObject = paramhg.y();
          if ((bool2) || (localObject == null)) {
            localObject = hg.S;
          }
          return new o(((Insets)localObject).left, ((Insets)localObject).top - d2, 0.0D, 0.0D);
        }
      }
      double d3 = arrayOfDouble[0];
      double d4 = arrayOfDouble[1];
      double d5 = arrayOfDouble[3] - d4;
      return new o(d3, d4 + d5 - d2, arrayOfDouble[2] - d3, d5);
    }
    
    public o b(hg paramhg)
    {
      if (!ld.E) {
        if (a()) {
          return a(paramhg, e(paramhg));
        }
      }
      return e(paramhg);
    }
    
    private o e(hg paramhg)
    {
      return new o(0.0D, -paramhg.u, 0.0D, 0.0D);
    }
    
    public void a(hg paramhg, FontRenderContext paramFontRenderContext, byte paramByte)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {}
      Object localObject1;
      Object localObject2;
      switch (paramByte)
      {
      case 1: 
        if ((bool2) || (paramhg.v.length() > 0))
        {
          localObject1 = paramhg.y();
          if ((bool2) || (localObject1 == null)) {
            localObject1 = hg.S;
          }
          localObject2 = ((jg)paramhg).hb();
          if (!bool2) {
            if (localObject2 == null) {
              return;
            }
          }
          double d1 = ((ld)localObject2).c();
          double d2 = 0.0D;
          double d3 = 1.7976931348623157E+308D;
          float f1 = (float)d2 + ((Insets)localObject1).top;
          d1 -= ((Insets)localObject1).left + ((Insets)localObject1).right;
          if ((bool2) || ((d1 <= 0.0D) || (d3 <= 0.0D))) {
            return;
          }
          HashMap localHashMap = new HashMap();
          localHashMap.put(TextAttribute.FONT, paramhg.A);
          if ((bool2) || (paramhg.p)) {
            localHashMap.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
          }
          LineBreakMeasurer localLineBreakMeasurer = new LineBreakMeasurer(new AttributedString(paramhg.v, localHashMap).getIterator(), paramFontRenderContext);
          int i = paramhg.v.indexOf('\n');
          if (!bool2) {
            if (i == -1) {
              i = paramhg.v.length();
            }
          }
          TextLayout localTextLayout2;
          do
          {
            do
            {
              if (i > localLineBreakMeasurer.getPosition()) {
                break;
              }
              if (bool2) {
                break label408;
              }
              if (localLineBreakMeasurer.getPosition() >= paramhg.v.length()) {
                break;
              }
              localTextLayout2 = localLineBreakMeasurer.nextLayout(100.0F, i + 1, false);
              f1 += localTextLayout2.getAscent() + localTextLayout2.getLeading() + localTextLayout2.getDescent();
              i = paramhg.v.indexOf('\n', i + 1);
            } while (i != -1);
            i = paramhg.v.length();
            if (bool2) {
              break label401;
            }
            if (bool2) {
              break label542;
            }
            if (bool1) {
              break label540;
            }
          } while ((!bool2) && (!bool1));
          do
          {
            if (localLineBreakMeasurer.getPosition() >= paramhg.v.length()) {
              break;
            }
            localTextLayout2 = localLineBreakMeasurer.nextLayout((float)d1, i, false);
            if (bool2) {
              break label542;
            }
            if (bool1) {
              break label540;
            }
            if (localTextLayout2 == null) {
              return;
            }
            if (!bool2)
            {
              if (localLineBreakMeasurer.getPosition() == i)
              {
                i = paramhg.v.indexOf('\n', i + 1);
                if (bool2) {
                  continue;
                }
                if (i == -1) {
                  i = paramhg.v.length();
                }
              }
              f1 += localTextLayout2.getAscent() + localTextLayout2.getDescent() + localTextLayout2.getLeading();
            }
          } while (!bool1);
          if (!bool2) {
            paramhg.a(d1, f1 + 2.0F + ((Insets)localObject1).bottom);
          }
          if (!bool1) {
            break;
          }
        }
        break;
      case 0: 
      case 2: 
        label401:
        label408:
        label540:
        label542:
        localObject1 = new HashMap();
        ((HashMap)localObject1).put(TextAttribute.FONT, paramhg.A);
        if (!bool2) {
          if (paramhg.p) {
            ((HashMap)localObject1).put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
          }
        }
        if (paramhg.v.length() > 0)
        {
          localObject2 = new AttributedString(paramhg.v, (Map)localObject1).getIterator();
          TextLayout localTextLayout1 = new TextLayout((AttributedCharacterIterator)localObject2, paramFontRenderContext);
          localTextLayout1.getAdvance();
          Insets localInsets = paramhg.y();
          if (!bool2)
          {
            if (localInsets == null) {
              localInsets = hg.S;
            }
            paramhg.a(localTextLayout1.getAdvance() + localInsets.left + localInsets.right + 3.0F, 3 + localInsets.top + localInsets.bottom + localTextLayout1.getAscent() + localTextLayout1.getDescent() + localTextLayout1.getLeading());
          }
        }
        break;
      }
    }
  }
  
  public static abstract interface g_
  {
    public abstract void a(hg paramhg, Object paramObject, ObjectOutputStream paramObjectOutputStream)
      throws IOException;
    
    public abstract Object a(hg paramhg, ObjectInputStream paramObjectInputStream)
      throws IOException;
    
    public abstract Object a(hg paramhg1, Object paramObject, hg paramhg2);
  }
  
  public static abstract interface f_
  {
    public abstract void a(hg paramhg);
  }
  
  public static abstract interface b_
  {
    public abstract void a(hg paramhg, Rectangle2D paramRectangle2D);
  }
  
  public static abstract interface d_
  {
    public abstract void a(hg paramhg, FontRenderContext paramFontRenderContext);
    
    public abstract boolean a(hg paramhg, double paramDouble1, double paramDouble2);
  }
  
  public static abstract interface e_
  {
    public abstract void a(hg paramhg, Graphics2D paramGraphics2D);
    
    public abstract void a(hg paramhg, Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4);
    
    public abstract void b(hg paramhg, Graphics2D paramGraphics2D, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4);
    
    public abstract o a(hg paramhg);
    
    public abstract o b(hg paramhg);
  }
  
  static final class a_
  {
    final hg.e_ a;
    final String b;
    final hg.d_ c;
    final hg.b_ d;
    final hg.g_ e;
    final hg.f_ f;
    
    public a_(Map paramMap1, Map paramMap2, String paramString)
    {
      HashMap localHashMap = new HashMap();
      localHashMap.putAll(paramMap2);
      localHashMap.putAll(paramMap1);
      this.a = ((hg.e_)localHashMap.get(hg.W == null ? (hg.W = hg.d("a.j.hg$e_")) : hg.W));
      this.c = ((hg.d_)localHashMap.get(hg.V == null ? (hg.V = hg.d("a.j.hg$d_")) : hg.V));
      this.d = ((hg.b_)paramMap1.get(hg.X == null ? (hg.X = hg.d("a.j.hg$b_")) : hg.X));
      this.e = ((hg.g_)paramMap1.get(hg.Y == null ? (hg.Y = hg.d("a.j.hg$g_")) : hg.Y));
      this.f = ((hg.f_)paramMap1.get(hg.Z == null ? (hg.Z = hg.d("a.j.hg$f_")) : hg.Z));
      this.b = paramString;
    }
  }
  
  public static final class c_
  {
    private final Map a;
    Map b = new HashMap();
    Set c = Collections.unmodifiableSet(this.b.keySet());
    public static int d;
    
    c_(Map paramMap)
    {
      this.a = paramMap;
    }
    
    public Map a()
    {
      HashMap localHashMap = new HashMap();
      localHashMap.putAll(this.a);
      return localHashMap;
    }
    
    public void a(String paramString, Map paramMap)
    {
      if (paramString == null) {
        throw new NullPointerException("description");
      }
      hg.a_ locala_ = new hg.a_(paramMap, this.a, paramString);
      this.b.put(paramString, locala_);
    }
    
    public void a(hg paramhg, String paramString)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if (paramString == null)
        {
          paramhg.K = paramhg.l();
          if (bool2) {
            return;
          }
          if (!bool1) {
            break label115;
          }
        }
      }
      hg.a_ locala_ = (hg.a_)this.b.get(paramString);
      if (!bool2)
      {
        if (locala_ != null) {
          if (bool2) {
            break label120;
          }
        }
      }
      else
      {
        if (paramhg.K == locala_) {
          break label115;
        }
        paramhg.K = locala_;
        if (bool2) {
          return;
        }
        if (!bool1) {
          break label115;
        }
      }
      throw new IllegalArgumentException("Unregistered configuration: " + paramString);
      label115:
      paramhg.p();
      label120:
      paramhg.o();
    }
    
    public Set b()
    {
      return this.c;
    }
    
    public void a(String paramString)
    {
      this.b.remove(paramString);
    }
    
    public Object a(String paramString, Class paramClass)
    {
      boolean bool = ld.E;
      hg.a_ locala_ = (hg.a_)this.b.get(paramString);
      if (locala_ != null)
      {
        if (!bool) {}
        if (paramClass == (hg.V == null ? (hg.V = hg.d("a.j.hg$d_")) : hg.V)) {
          return locala_.c;
        }
        if (!bool) {}
        if (paramClass == (hg.W == null ? (hg.W = hg.d("a.j.hg$e_")) : hg.W)) {
          return locala_.a;
        }
        if (!bool) {}
        if (paramClass == (hg.Y == null ? (hg.Y = hg.d("a.j.hg$g_")) : hg.Y)) {
          return locala_.e;
        }
        if (!bool) {}
        if (paramClass == (hg.X == null ? (hg.X = hg.d("a.j.hg$b_")) : hg.X)) {
          return locala_.d;
        }
        if (!bool) {}
        if (paramClass == (hg.Z == null ? (hg.Z = hg.d("a.j.hg$f_")) : hg.Z)) {
          return locala_.f;
        }
      }
      return null;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.j.hg

 * JD-Core Version:    0.7.0.1

 */